Currently, digital capture of object images such as paintings and manuscripts, storage and retrieval of the images, and management of rights to the images is of growing importance with respect to information transfer and distribution, such as that of the Internet. Image watermarking has become an important and widely used technique to identify ownership and protect copyrights to images. An image watermark immediately identifies the owner of an image, and if properly constructed, can deter subsequent unscrupulous use of the image. Image watermarking is also used by stock photography vendors such a Photodisc, and others such as Digimarc.
There are two types of image watermarks in common use: Visible image watermarks, such as the ones used by the Vatican Library and Lutherhalle collection, and invisible watermarks. The insertion of a visible watermark should satisfy two conflicting conditions: the watermark should be strong enough to be perceptible, yet it should be light enough to be unobtrusive and not mar the beauty of the original image. Though an invisible watermark is not perceptible, its strength can also be adjusted or selected. Typically such an adjustment or selection is made manually for both visible and invisible watermarks, and human intervention is required to adjust the strength of the watermark to the right level. This manual adjustment is satisfactory if only a few images are to be watermarked, but is unsuitable for a large collection of images. Thus, it is desirable to have a technique to automatically adjust or select the strength of the watermark based on the texture of each image. This will allow a large number of images to be automatically watermarked, thus increasing the throughput of the watermarking stage.
Visible watermarking is well known in the art and may be summarized as follows. Visible image watermarking alters pixel brightness of selected pixels of the image corresponding to pixels of the watermark mask, which is typically done in the following manner. A visible image watermarking processor receives two images: the image of the watermark to be applied, such as the company logo, and the image to be protected. The watermark image may be binary, with a logic "0" representing background and a "1" representing foreground of the watermark. Only the pixels in the image to be watermarked corresponding to the pixels of the foreground of the watermark image are changed in brightness. Alternatively, the watermark image can be ternary, with "0" representing no change in brightness, "1" representing an increase in brightness and "2" representing a decrease in brightness, and then a processor alters the brightness of selected pixels as dictated by the image of the watermark. In general, the watermark image can possess a multiplicity of gray levels. Further details about using watermark images with multiple gray levels may be found in U.S. Pat. No. 5,530,759 awarded to Braudaway et al., entitled "Color Correct Digital Watermarking of Images", incorporated herein by reference.
The brightness of each pixel is altered by reducing or increasing it by a perceptually uniform amount, which is pre-determined by the user. In order to further define this process, XYZ is defined as a color space and L*a*b* as a uniformly perceptible color space. The XYZ color space was established by the Commission International de 1'Eclairage (CIE), a body of scientists and illumination engineers, and this space is well known in the art. The XYZ color space is a standardized representation for color which takes into account the human eye's response to light. The XYZ values, also known as tristimulus values, represent the amounts of three primaries (chosen by the CIE) needed to match a given color. All visible colors can be described by some additive combination of X, Y and Z. Further discussion of the XYZ details may be found in Wyszecki and Stiles, Color Science, New York, Wiley 1967, which is incorporated herein by reference.
Red, Green and Blue color values, or RGB values, may be transformed to the XYZ values, or CIE tristimulus values, by using equation (1). ##EQU1##
In equation (1), M.sub.s is a 3.times.3 scanner matrix which provides a linear mapping between RGB values and XYZ values.
A uniform color space is one in which colors that appear equally different from each other are represented by equidistant points. However, neither the RGB color space nor the XYZ color spaces is a uniform color space. Modified color spaces, which are uniform color spaces L*a*b*, have been proposed, such as a color space based on luminance and chrominance values, or L*u*v* uniform color space. Given the RGB values (R, G, B) for a pixel, the RGB values are transformed into a perceptually uniform color space L*a*b* as follows.
Let X.sub.w, Y.sub.w and Z.sub.w be the XYZ coordinates of the reference white point of an image. Then X, Y and Z can be transformed into L*a*b* values using equations (2), (3) and (4), and these methods are known in the art and described in, for example, Wyszecki, G. et al., Color Science, John Wiley, 1982. ##EQU2##
The component related to image watermarking is L*, which approximates perceptually uniform brightness. Suppose the user determines .DELTA.L* to be the perceptually uniform amount by which the brightness is changed in order to impose a watermark image value to the brightness value of a pixel. A higher value of .DELTA.L* corresponds to a stronger impression of the watermark on the original image. Given .DELTA.L*, new RGB values of (R,G,B) for the pixel using the color transformation are calculated using equations (5) and (6), which are described in, for example, Braudaway, Magerlein and Mintzer, "Protecting publicly-available images with a visible image watermark," in Proceedings, SPIE Conference on Optical Security and Counterfeit Deterrence Techniques, vol. SPIE 2659, pp.126-132, February, 1996. First the new brightness Y is calculated from the current brightness Y using equation (5): ##EQU3##
From equation (5), larger values of .DELTA.L* result in larger changes to the brightness Y, which may make a visible watermark more obtrusive.
The other tristimulus components, X and Z, are obtained by scaling the values by the ratio of Y/Y. With the new tristimulus components, XYZ, the new tristimulus values may be transformed to RGB color space values using the inverse of equation (1), given below as equation (6): ##EQU4##
where M.sub.s.sup.-1 is the inverse of matrix M.sub.s.
New values of (R,G,B) do not change the chromaticity of the pixel, which maintains the color the pixel while changing its brightness. To thwart attempts to remove the watermark, the change in brightness, or-strength, for the pixel, .DELTA.L*, may be varied randomly such that the mean .DELTA.L* value equals the value selected by the user.
Techniques for invisible image watermarking are also available, and some typical techniques known in the art are as follows. One method employs modification of the least significant bits of the image to embed the watermark. A more robust method of applying an invisible watermark which survives transformations such as resealing and compression employs computation of a two dimensional discrete cosine transform of the image (2D DCT) and then identification of n coefficients of highest magnitude excluding the DC coefficient (n is an arbitrary number). The watermark is then embedded into these n coefficients, for example, by adding to each coefficient the corresponding water mark strength. The inverse 2D DCT is then taken to obtain the watermarked image. If the DCT coefficients are not significantly altered, the watermark will not be perceptible in the inverse transform. However, the more the DCT coefficients are altered, the easier it becomes to detect the presence of the watermark in the final image. Thus there is a tradeoff here between the invisibility of the watermark and its detectability.